The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Users have long been able to conduct web-based searches via an application such as a web browser. Web-based searches can be conducted on a variety of data, such as books in an on-line bookstore, movie listings near a particular zip code, and travel information about the costs and availability of hotels and flights. Typically, a web-based search returns a list of search results upon which a user can take further action. In an example where the user has conducted a search for commercial flights, the list of search results would be a list of flights. Once the user has received the list of flights, he can take further action to manipulate and interact with these flight results. For example, he may wish to filter the list of flights so that only flights that depart before a certain time are shown. He may also wish to select a single flight from a list of flights for booking. The ability to conduct web-based searches and to immediately take action on the search results has vastly increased the convenience for users who wish to retrieve information from the web and complete transactions based on the retrieved information.
Often, two or more users may wish to interact with web-based search results together in order to facilitate sharing, communicating, and making joint decisions regarding the search results. However, the current approach is limited because a user conducting a web-based search must work alone. Currently, there are no tools which allow a user to search, view and take action on search results from a web-based search in a collaborative manner with other users. In the example of searching for and booking a flight, if two users wish to travel together on a mutually convenient flight, one user may conduct a web-based search to look for flights. However, communication with a second user cannot be conducted in the same application used to search for the flights. Instead, the first user must use another means, such as email or telephone, to communicate with the second user.
In another approach, users may communicate with one another over the Internet via multi-user communications applications. In one example of this type of application, two users may type messages to one another in a “chat window” that is shown on the displays of both users. In Yahoo!'s Instant Messenger (“IM”) application from Yahoo, Inc. in Sunnyvale, Calif., for example, two users who are both on-line at the same time may initiate a chat session, where a “chat window” is displayed on the users' display screens, allowing the users to type messages to each other. All messages typed in a particular chat session are displayed in the chat window. This approach allows users to easily communicate with each other over the Internet, but is also limited because users are limited to simple text communications. This approach does not allow users to jointly retrieve results from a web-based search engine or to act upon those results.
Based on the foregoing, there is a clear need for an approach that allows two or more users to jointly and concurrently search, view, and act upon web-based search results.